package com.zycfc.zsf.boot.util.text;

public class VersionUtils
{
    public static int compare(final String v1, final String v2) {
        int i = 0;
        int j = 0;
        int x = 0;
        int y = 0;
        final int v1Len = v1.length();
        final int v2Len = v2.length();
        while (true) {
            if (i < v1Len) {
                final char c = v1.charAt(i++);
                if (c >= '0' && c <= '9') {
                    x = x * 10 + (c - '0');
                    continue;
                }
                if (c != '.') {
                    continue;
                }
            }
            while (j < v2Len) {
                final char c = v2.charAt(j++);
                if (c >= '0' && c <= '9') {
                    y = y * 10 + (c - '0');
                }
                else {
                    if (c == '.') {
                        break;
                    }
                    continue;
                }
            }
            if (x < y) {
                return -1;
            }
            if (x > y) {
                return 1;
            }
            x = 0;
            y = 0;
            if (i >= v1Len && j >= v2Len) {
                return 0;
            }
        }
    }
    
    public static void main(final String[] args) {
        final String v1 = "0.2.1";
        final String v2 = "0.1.1";
        System.out.println(compare(v1, v2));
    }
}
